commonlibsse_ng\re\b/
BSTextureSet.rs1use core::ffi::c_char;
2
3use crate::re::NiObject::{NiObject, NiObjectVtbl};
4use crate::re::NiSourceTexture::NiSourceTexture;
5use crate::re::offsets_ni_rtti::NiRTTI_BSTextureSet;
6use crate::re::offsets_rtti::RTTI_BSTextureSet;
7use crate::re::offsets_vtable::VTABLE_BSTextureSet;
8use crate::rel::id::VariantID;
9
10#[repr(C)]
11#[derive(Debug)]
12pub struct BSTextureSet {
13 pub __base: NiObject,
14}
15const _: () = assert!(core::mem::size_of::<BSTextureSet>() == 0x10);
16
17impl BSTextureSet {
18 pub const RTTI: VariantID = RTTI_BSTextureSet;
19 pub const NI_RTTI: VariantID = NiRTTI_BSTextureSet;
20 pub const VTABLE: [VariantID; 1] = VTABLE_BSTextureSet;
21}
22
23#[commonlibsse_ng_derive_internal::to_bitflags]
24#[repr(u32)]
25#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
26pub enum Texture {
27 Diffuse = 0,
28 Normal = 1,
29 Gloss = 1,
30 EnvironmentMask = 2,
31 SubsurfaceTint = 2,
32 GlowMap = 3,
33 DetailMap = 3,
34 Height = 4,
35 Environment = 5,
36 Multilayer = 6,
37 BacklightMask = 7,
38 Specular = 7,
39 Unused08 = 8,
40 UsedTotal = 8,
41}
42
43impl Texture {
44 pub const TOTAL: usize = 9;
46}
47
48#[repr(C)]
49pub struct BSTextureSetVtbl {
50 pub __base: NiObjectVtbl,
51 pub GetTexturePath:
52 unsafe extern "C" fn(this: *const BSTextureSet, texture: Texture) -> *const c_char, pub SetTexture: unsafe extern "C" fn(
54 this: *mut BSTextureSet,
55 texture: Texture,
56 src_texture: *mut NiSourceTexture,
57 ), pub SetTexturePath:
59 unsafe extern "C" fn(this: *mut BSTextureSet, texture: Texture, path: *const c_char), }